package com.bdqn.springbootmybatisplus.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.io.Serializable;

/**
 * 
 * @TableName sys_role
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@TableName(value ="sys_role")
public class SysRole implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * @JsonIgnore 是用来标注在需要忽略的属性上。因为我们前面在 RedisConfig 配置类中配置
     * 了使用 Jackson 的序列化对象，将对象转换为 JSON 保存在 Redis 中。那么在将对象转换为 JSON
     * 时，有些属性需要忽略，特别是对象之间有关联关系时，需要使用@JsonIgnore 忽略关联对象，
     * 避免转换时出现死循环。
     * 在 Role.java 实体中忽略 users 属性
     */
    // @JsonIgnore
    // private Set<SysUser> users = new HashSet<SysUser>(0);
    /**
     * 编号
     */
    @TableId(type = IdType.AUTO)
    private Long roleId;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * 角色描述
     */
    private String roleDesc;

    /**
     * 状态
     */
    private Integer roleFlag;

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public String getRoleDesc() {
        return roleDesc;
    }

    public void setRoleDesc(String roleDesc) {
        this.roleDesc = roleDesc;
    }

    public Integer getRoleFlag() {
        return roleFlag;
    }

    public void setRoleFlag(Integer roleFlag) {
        this.roleFlag = roleFlag;
    }
}